// 1.1 导入http 模块
const http = require('http')
// 1.2 导入 fs 模块
const fs = require('fs')
// 1.3 导入 path 模块
const path = require('path')

// 2.1 创建 web 服务器
const server = http.createServer()
// 2.2 监听 web 服务器
server.on('request',(req,res)=>{
    // 3.1 获取到客户端请求的 URL 地址
    // (我自己的理解：req是接收到的请求，req.url是接收到的地址)
    // 这个文件地址是不完整的地址，例如要读clock里面的index.html
    // 是  /clock/index.html 所以下面要用__dirname根目录跟要读的文件地址拼接起来，得到一个绝对路径可以读取文件
    // __dirname是代表05这个文件所处的目录，就是code
    const url = req.url
    // 3.2 把请求的 URL 地址映射为具体文件的存放路径
    // const fpath = path.join(__dirname,url)
    let fpath = ""
    if(url === "/"){
        fpath = path.join(__dirname,'/clock/index.html')
    }
    else{
        // 这里的url是 /index.html 不完整的，所以加上clock，以后都直接打文件名自动加上clock
        fpath = path.join(__dirname,'/clock'+url)
    }

    // 4.1 根据“映射”过来的文件路径读取文件的内容
    fs.readFile(fpath,'utf8',(err,dataStr) => {
        // 4.2 读取失败，向客户端响应固定的“错误信息”
        if(err) return res.end('404 Not found')
        // 4.3 读取成功，将读取成功的内容，响应给客户端
        res.end(dataStr)
    })
})
// 2.3 启动服务器
server.listen(80,()=>{
    console.log('server running at http://127.0.0.1');
})